This project reflects a longstanding NLM interest in clinical terminology and message standards. It uses and tunes the message and vocabulary standards that NLM has supported to facilitate interoperability. In healthcare, interoperability is the ability of different information technology systems and software applications to communicate, exchange data, and use the information that has been exchanged. HIMSS Dictionary of Healthcare Information Technology Terms, Acronyms and Organizations, 2nd Edition, 2010, Appendix B, p190. EHR systems that incorporate these standards can integrate a patients health data from multiple sources. PHRs are electronic medical records whose contents are controlled and managed by the consumers whose data they carry. NLM is developing standards-based tools and techniques that can be used in EHRs and PHRs. In FY2015 we made these tools open source and freely-available by publishing the source code on GitHub. They are Section 508-compliant (i.e., accessible to screen readers). Groups or institutions can customize many of the features for their particular needs. A) NLM Personal Health Record (PHR) The NLM PHR is a web-based tool that allows consumers to keep track of their own health information as well as that of their children or other dependents. Using national coding and terminology standards, it can serve as a bridge for meaningful data exchange between electronic health record systems. People can try out the system on our demonstration site at: https://phr-demo.nlm.nih.gov/accounts/demo_login The software is available for download at: https://github.com/lhncbc/phr Features include: The entire family's health information can be managed within one account by creating individual health records for each family member. Customized health reminders based on national health guidelines. Date reminders for medication refill due dates, next appointment dates, next vaccination dates, etc. Links to NLM's rich trove of trusted patient-oriented consumer health information. Comprehensive test panel and health tracker entry for laboratory, radiology, and diagnostic test results, diseases, symptoms (e.g. diabetes and wheezing associated with asthma), and lifestyle measures (e.g. sleep, mood, nutrition, and exercise). Standardized Clinical Terminologies: Major clinical variables are mapped to federally-supported standard coding systems required for use in electronic messages by federal regulations. Drugs are mapped to RxTerms (a subset of RxNorm that was developed for this project, measurements are mapped to Logical Observation Identifiers Names and Codes (LOINC), immunizations are mapped to the Centers for Disease Control's vaccine CVX codes, and diagnoses and procedures are mapped to Systematized Nomenclature of Medicine--Clinical Terms (SNOMED-CT). Coding in the NLM PHR provides three special capabilities: 1) custom clinical decision support; 2) one-click access to health information about coded concepts entered in the PHR, and 3) identification of duplicate prescribing with different but equivalent drugs. Test panel flowsheet allows the user to see test results and health trackers over time. The graphing feature makes it easy to view test results and health trends as well as get detailed information about specific data points. Standardized Clinical Data Structure: Health Level 7 (HL7) standards facilitate the import and export of clinical data. Data Sharing: The person who created the health record may explicitly grant read-only access to someone they specify. A Basic HTML Mode: The standard mode for the PHR uses Javascript extensively. For users who need a more accessible version, a Basic mode is provided which requires no javascript. New in FY2015: a virtual machine (VM) which can be downloaded from the demo website and run locally, plus VM system documentation. B) LForms LForms creates input forms for Web-based medical applications, EHRs, PHRs, and mobile health apps. Developed by NLM in collaboration with the Regenstrief Institute, LForms can render a powerful data entry form for laboratory panels, survey instruments, etc. from any of the 1,700+ panels defined in LOINC LForms supports detailed form attributes, including: data type, cardinality, default value, units of measure (if numeric), answer lists (if multiple choice), ability to make multiple choice answer lists function as select one or select all that apply, relationship (in a nested hierarchy) to other questions, default value settings, validation checks, skip logic and help messages. LForms uses the NLM-developed autocompleter package (autocomplete-lhc) described below. New in FY2015: Began work on a web-based form-builder. Added load and save functionality. Created form-display services for common data elements (CDE) forms for the NLM Value Set Authority Center (VSAC) website, and for LOINC forms for Regenstrief Institute. Improved hierarchical tree line display. Improved the skip logic (for controlling whether form questions are shown). Explore our standalone LForms Demo site at http://lforms-demo.nlm.nih.gov. Programmers interested in using LForms in their own EMR, PHR, or other application can download the LForms software from GitHub at https://github.com/lhncbc/lforms. Developers can add their own custom solutions for storing data, authentication, and user control. C) Auto-completers NLM-developed auto-completers aim to improve the user experience for entering information in electronic forms (e.g. easier and faster), and also improve the quality of the data entered. They are written in JavaScript and support two types of lists: Prefetch (small enough to be included when the page loads) and Search (lists are shown in small, AJAX-retrieved chunks that match the user's input). Software and demos at: http://lhncbc.github.io/autocomplete-lhc/ Features: Section 508-compliant (i.e., accessible to screen readers) Supports coded-value lists Heading items in lists Two-column lists when there is not enough space on the page to show the list in a single column. Numbered list items (optional). Can require that an entry in the field match the list. Event listeners for various things like list selection. Provides a way to get extra information about the record associated with a list item. (See recordDataRequester.js.) Multi-select lists. Support for list suggestions in the search (AJAX) autocompleter, when the user does not pick an item in the list. (Currently this is for single-select lists only.) autofill option, which fills in the field automatically if there is just one list item Default value (optional), which gets placed in the field when the field gets focus (along with showing the list). A see more link on the search autocompleter which provides an expanded list of items. Search buttons (optional) for search autocompleters to make them show an expanded results list. (Without a button, the user can click on the see more link.) A results cache for the search autocompleter, so that repeats of AJAX calls for the same list items are not necessary. New in FY2015: Added support for selection of multiple list items. Added support for AngularJS. Created, a sub-system called lforms-service to provide LForms with a rich set of autocompleting field lookups (https://lforms-service.nlm.nih.gov/). LForms-service is a terminology lookup service which accepts queries for drug ingredients, medical conditions, disease names, gene systems, genetic reference accession numbers, and ICD-10-CM codes-- with more to come. The output of the service is in the format expected by the autocomplete-lhc package, but is publicly available for other potential uses.